go/types.unifier.x (field)
25 uses
go/types (current package)
infer.go#L198: u.x.init(tparams)
infer.go#L203: u.x.set(i, targ)
infer.go#L209: targs, index := u.x.types()
infer.go#L275: targs, index = u.x.types()
infer.go#L311: targs, index = u.x.types()
infer.go#L480: u.x.init(tparams)
infer.go#L481: u.y = u.x // type parameters between LHS and RHS of unification are identical
infer.go#L486: u.x.set(i, targ)
infer.go#L505: for n := u.x.unknowns(); n > 0; {
infer.go#L513: tx := u.x.at(i)
infer.go#L547: u.x.set(i, core.typ)
infer.go#L555: nn = u.x.unknowns()
infer.go#L576: types, _ = u.x.types()
unify.go#L65: x, y tparamsList // x and y must initialized via tparamsList.init
unify.go#L78: u.x.unifier = u
unify.go#L144: u.tracef("%s ⇄ %s", u.x.tparams[i], u.y.tparams[j])
unify.go#L146: ti := u.x.indices[i]
unify.go#L153: u.x.indices[i] = -len(u.types)
unify.go#L157: u.x.indices[i] = tj
unify.go#L180: u.x.setIndex(i, tj)
unify.go#L329: switch i, j := u.x.index(x), u.y.index(y); {
unify.go#L336: return u.nifyEq(u.x.at(i), u.y.at(j), p)
unify.go#L340: if tx := u.x.at(i); tx != nil {
unify.go#L344: u.x.set(i, y)
unify.go#L578: panic(sprintf(nil, nil, true, "u.nify(%s, %s), u.x.tparams = %s", x, y, u.x.tparams))